JavaD: Bringing Ownership Domains to Mainstream Java

نویسندگان

  • Marwan Abi-Antoun
  • Neelakantan Krishnaswami
چکیده

Ownership types have been receiving much attention from the research community. However, few of the proposed designs have been implemented or evaluated on real object-oriented implementations. AliasJava has been available for a few years and has been applied on several case studies. Currently, AliasJava is implemented as a non-backwards compatible extension of the Java programming language. As a result, none of the tool support for Java (from debugging and refactoring to syntax highlighting) is available for AliasJava programs, making it harder to justify the case that Java programs are easier to evolve with AliasJava annotations than without. Furthermore, this makes it harder specify the ownership and aliasing annotations for a large legacy system, since the program cannot be annotated partially and incrementally with AliasJava. We present JavaD, a re-implementation of the AliasJava language and analysis as a set of Java 1.5 annotations, using the Eclipse Java Development Tooling (JDT) infrastructure and the Crystal Data Flow Analysis framework. We conclude with some lessons learned and future plans.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Featherweight Generic Ownership

Object ownership is an approach to controlling aliasing in programming languages. Proposals for adding ownership to programming languages do not directly support type genericity. We present Featherweight Generic Ownership — the first system to unify ownership and type polymorphism. Our type system extends Featherweight Generic Java with locations to support ownership and confinement invariants,...

متن کامل

Ownership Domains in the Real World

The Ownership Domains type system has had publicly available tool support for a few years. However, the previous implementation used non-backwards compatible language extensions to Java and ran on a research infrastructure, which made it difficult to conduct substantial case studies on interesting systems. We first present a re-implementation of ownership domains using Java 1.5 annotations and ...

متن کامل

Sheep Cloning with Ownership Types

Object-oriented programmers often need to clone objects. Mainstream languages, such as C# and Java, typically default to shallow cloning, which copies just one object and aliases references from that object. Other languages, such as Eiffel, provide deep cloning. A deep clone is a copy of the entire object graph reachable from the cloned object, which could include many unnecessary objects. Alte...

متن کامل

An Analysis of the Effect of Code Ownership on Software Quality across Windows, Eclipse, and Firefox

Ownership is an important aspect of software development in large software teams. We examine the relationship between a number of ownership measures and software faults/failures in three large software projects drawn from different process domains: Windows Vista, the Eclipse Java IDE, and the Firefox Web Browser. We find that in all cases, measures based on ownership levels, such as the number ...

متن کامل

Towards Unifying Immutability and Ownership

Immutability is a highly requested feature missing from the mainstream object-oriented languages. Boyland [2] argues that immutability cannot be introduced into a language without additional aliasing-prone mechanisms such as ownership (or fractional permissions). Rather than providing support for both of these important features independently [8, 6, 1], we explore the possibility of unifying th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006